#!/bin/bash
set -e
if [ -z "${MountPoint}" ]; then
    EnvFile="../common/0_env.sh"
    # shellcheck source=../common/0_env.sh
    source ${EnvFile}
fi

echo -e "\n***********************************************************************"
echo -e "\t\t$0 : 测试 orcafs-ctl --du 与 系统 du 统计结果是否一致"
echo -e "***********************************************************************"

vdbDirPath="/test_du_vdbench"
absVdbDirPath="${MountPoint}${vdbDirPath}"
mkdir -p "${absVdbDirPath}"
orcafs-ctl --setpattern --storagepoolid=2 "${absVdbDirPath}" &> /dev/null

# 不用每次都执行
if [ "$1" == "--fastmode" ]; then
    sysDuSize="73746321"
    allFileSize="73728307"
else
    exec_vdbench ${vdbDirPath} ./vdbcase/2-3-test_du_vdbench.case
    sysDuSize=`du -sb "${absVdbDirPath}" | awk '{print $1}'`
    allFileSize=$(find "${absVdbDirPath}" ! -type d | xargs stat --format=%s | \
                awk 'BEGIN{sum=0} {sum+=$1} END{print sum}')
fi

allDirSize=$[${sysDuSize} - ${allFileSize}] #18014

# 测试 orcafs-ctl --du 和 系统 du 是否一致
test_du_size_all ${vdbDirPath} "${sysDuSize}"

# 测试 orcafs-ctl --du --type=file 和 期望是否一致
test_du_size_file ${vdbDirPath} "${allFileSize}"

# 测试 orcafs-ctl --du --type=dir 和 期望是否一致
test_du_size_dir ${vdbDirPath} ${allDirSize}

rm_abs_dir "${absVdbDirPath}"
